Career 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004 2003 2002 2001 2000
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour USA F23 USA F22 Usa F15 Usa F16 Usa F17 Usa F16 USA F17 USA F23 USA F13 USA F23 USA F24 USA F23 Warta Cup 2001 - Sopot VI Torneo Internazionale di Tennis - Barletta Tennis Napoli Cup - Naples Garden Open - Rome Memorial Savigni - Sassuolo ATU Cup 2001 - Weiden Pro Tennis World Open - Boca Raton Asirom Challenger Brasov - Brasov XXIX Edizione 'A.Savoldi Marco' - Manerbio Challenger Ford de Cherbourg - Cherbourg ATU Cup - Weiden Warsteiner Challenger Lubeck - Lubeck Copa Sevilla - Seville ECM Cup - Prague Architect Open - Budapest Zivnobanka Czech Open - Prostejov Open Ciudad de Valencia/LXI Copa Faulconbridge - Valencia Warsteiner Challenger Wolfsburg - Wolfsburg VIII Trofeo Ciutat de Barcelona - Barcelona I Tourneo Fila Citta di Brindisi - Brindisi Pekao Open - Szczecin Sporting Challenger - Turin Memorial Savigny - Sassuolo XI Venice Open - Venice Challenger Copa Sevilla Internacionales de Andalucia - Seville Ojai Challenger Winnetka Challenger Aptos Challenger Sacramento Challenger Tiburon Challenger Charlottesville Challenger Knoxville Challenger Tiburon Challenger Nottingham Challenger Winnetka Challenger Dallas Challenger Irving Challenger Bordeaux Challenger Calabasas Challenger Aptos Challenger Diego Open - Budapest Aptos Challenger Sarasota Challenger Tallahassee Challenger Noumea Challenger Maui Challenger Indian Wells Challenger Sarasota Challenger Champaign Challenger Kamnik Challenger - Kamnik Muller Cup - Ulm Pekao Open 2003 - Szczecin Trofeo Barcelona de Tenis - Barcelona Bendigo Challenger Lexington Challenger Vancouver Challenger Copa Ericsson Uruguay - Montevideo Bloomfield Hills Challenger Fairfield Challenger Estoril Open - Estoril Champaign Challenger International Championship of Croatia - Umag Gelsor Open Romania - Bucharest Campionati Internazionali di Sicilia - Palermo Qatar Exxon Mobil Open 2003 - Doha Heineken Open - Auckland BellSouth Open - Vina del Mar Aptos Challenger Idea Prokom Open - Sopot Orlando Challenger Olbia Geovillage Open - Olbia San Marino Cepu Open - San Marino Nottingham-2 Challenger Copa Ericsson Chile - Santiago Calabasas Challenger Tallahassee Challenger Seoul Challenger Las Vegas Challenger Cleveland Challenger Nottingham Challenger Chicago Challenger Charlottesville Challenger Abierto Mexicano de Tenis Pegaso - Acapulco 2003 Mercedes Cup - Stuttgart Open de Moselle - Metz Fairfield Challenger Canberra Challenger Newport Beach Challenger Sacramento Challenger CA Tennis Trophy - Vienna Adidas International - Sydney Copa AT&T - Buenos Aires Brasil Open - Costa do Sauipe Open de la Comunidad Valenciana - Valencia Allianz Suisse Open - Gstaad Mercedes Cup - Stuttgart Generali Open - Kitzbuhel Idea Prokom Open - Sopot TD Waterhouse Cup - Long Island Open Romania - Bucharest Campionati Internazionali di Sicilia - Palermo St. Petersburg Open - St. Petersburg Medibank Private International - Sydney BellSouth Open - Vina del Mar Argentina Open - Buenos Aires Brasil Open - Costa do Sauipe Abierto Mexicano Telfonica MoviStar - Acapulco Open de la Comunidad Valenciana - Valencia ARAG World Team Championship - Dusseldorf Allianz Suisse Open - Gstaad Croatia Open - Umag Pilot Pen Tennis - New Haven Campionati Internazionali di Sicilia - Palermo Irving Challenger ABN/AMRO World Tennis Tournament - Rotterdam Open de Tenis Comunidad Valenciana - Valencia Open SEAT Godo 2006 - Barcelona Synsam Swedish Open - Bastad Mercedes Cup - Stuttgart Stockholm Open - Stockholm Davidoff Swiss Indoors Basel - Basel ARAG World Team Championship - Dusseldorf Heineken Open - Auckland Open 13 - Marseille ABN/AMRO World Tennis Tournament - Rotterdam The Dubai Tennis Championships - Dubai Open Seat Godo 2007 - Barcelona ARAG World Team Championship - Dusseldorf Mercedes Cup - Stuttgart Pilot Pen Tennis - New Haven AIG Japan Open Tennis Championships - Tokyo Heineken Open - Auckland ABN AMRO World Tennis Tournament - Rotterdam The Dubai Tennis Championships - Dubai Catella Swedish Open - Bastad Heineken Open - Auckland SA Tennis Open - Johannesburg ABN AMRO World Tennis Tournament - Rotterdam The Dubai Tennis Championships - Dubai Open Sabadell Atlantico - Barcelona Estoril Open - Estoril Ordina Open - 's-Hertogenbosch Masters Series - Hamburg ATP Studena Croatia Open Umag - Umag Copa Telmex - Buenos Aires Abierto Mexicano Telcel - Acapulco Open Sabadell Atlantico - Barcelona Countrywide Classic - Los Angeles Malaysian Open - Kuala Lumpur Open de Tenis Comunidad Valenciana - Valencia ABN AMRO World Tennis Tournament - Rotterdam Champaign Challenger Abierto Mexicano Telcel - Acapulco Open Sabadell Atlantico - Barcelona Open de Nice Cote d'Azur - Nice Honolulu Challenger SkiStar Swedish Open - Bastad Rakuten Japan Open - Tokyo Heineken Open - Auckland SAP Open - San Jose Copa Claro - Buenos Aires UNICEF Open - 's Hertogenbosch Atlanta Tennis Championships - Atlanta Malaysian Open - Kuala Lumpur China Open - Beijing Valencia Open - Valencia Qatar ExxonMobil Open - Doha Heineken Open - Auckland SAP Open - San Jose Copa Claro - Buenos Aires Abierto Mexicano Telcel - Acapulco Portugal Open - Oeiras Winston-Salem Open - Winston-Salem Malaysian Open - Kuala Lumpur China Open - Beijing If Stockholm Open - Stockholm Valencia Open - Valencia Rio Open 500 - Rio de Janeiro Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco Gerry Weber Open - Halle Bet-at-home Open - Hamburg International Championship of Croatia - Umag Citi Open - Washington Gelsor Open Romania - Bucharest Tiburon Challenger St. Petersburg Open - St. Petersburg Izmir Challenger Nottingham Challenger Charlottesville Challenger ARAG World Team Championship - Dusseldorf Open de Tenis Comunidad Valenciana - Valencia Ordina Open - s-Hertogenbosch Barcelona Open BancSabadell - Barcelona Open Sabadell Atlantico - Barcelona Rakuten Japan Open - Tokyo Erste Bank Open - Vienna Memphis Open - Memphis SkiStar Swedish Open - Bastad Hall of Fame Tennis Championships - Newport Citi Open - Washington Erste Bank Open - Vienna Delray Beach Open - Delray Beach Mercedes Cup - Stuttgart Gerry Weber Open - Halle SkiStar Swedish Open - Bastad Winston-Salem Open - Winston-Salem Rakuten Japan Open - Tokyo ASB Classic - Auckland US Men's Clay Court Championship - Houston Gerry Weber Open - Halle Hall of Fame Open - Newport Maui Challenger ASB Classic - Auckland Nature Valley International - Eastbourne Abierto Mexicano de Tenis Mifel - Los Cabos Adelaide International 1 - Adelaide Adelaide International 2 - Adelaide Dallas Open - Dallas cinch Championships - London Viking International - Eastbourne Hall of Fame Open - Newport Dallas Challenger Grand Prix de Tennis de Lyon - Lyon Abierto Mexicano Telcel - Acapulco China Open - Beijing Grand Prix de Tennis de Lyon - Lyon BellSouth Open - Vina del Mar Rakuten Japan Open - Tokyo U.S. National Indoor Tennis Championships - Memphis Abierto Mexicano Telcel - Acapulco Open de Nice Cote d'Azur - Nice China Open - Beijing Napa Challenger Abierto Mexicano Telcel - Acapulco Tiburon Challenger Charlottesville Challenger Geneva Open - Geneva Delray Beach Open - Delray Beach If Stockholm Open - Stockholm Open de Moselle - Metz Knoxville Challenger Topshelf Open - 's-Hertogenbosch European Open - Antwerp Brisbane International - Brisbane Synsam Swedish Open - Bastad Winston-Salem Open - Winston-Salem Davidoff Swiss Indoors - Basel Abierto Mexicano Telcel - Acapulco Winston-Salem Open - Winston-Salem China Open - Beijing Oeiras 3 Challenger Le Gosier Challenger New York Open - New York Delray Beach Open - Delray Beach Proton Malaysian Open - Kuala Lumpur SA Tennis Open - Johannesburg Hall of Fame Open - Newport Rakuten Japan Open - Tokyo Infosys Hall of Fame Open - Newport Heineken Open - Auckland Stockholm Open - Stockholm Open de Tenis Comunidad Valenciana - Valencia Barcelona Open BancSabadell - Barcelona Argentina Open - Buenos Aires Campbell's Hall of Fame Tennis Championships - Newport SkiStar Swedish Open - Bastad Farmers Classic - Los Angeles US Men's Clay Court Championship - Houston Barcelona Open BancSabadell - Barcelona Topshelf Open - 's-Hertogenbosch Citi Open - Washington US Men's Clay Court Championship - Houston AIG Japan Open - Tokyo Qatar ExxonMobil Open - Doha Heineken Open - Auckland Open de Tenis Comunidad Valenciana - Valencia Copa Claro - Buenos Aires US Men's Clay Court Championship - Houston Open de Nice Cote d'Azur - Nice SkiStar Swedish Open - Bastad Winston-Salem Open - Winston-Salem Hall of Fame Tennis Championships - Newport BB&T Atlanta Open - Atlanta Winston-Salem Open - Winston-Salem Erste Bank Open - Vienna Valencia Open - Valencia Orleans Challenger Swiss Indoors Basel - Basel Qatar ExxonMobil Open - Doha Heineken Open - Auckland Rio Open - Rio de Janeiro Gerry Weber Open - Halle Aegon Nottingham Open - Nottingham Hall of Fame Tennis Championships - Newport Nord/LB Open - Braunschweig Savannah Challenger Bordeaux Challenger BB&T Atlanta Open - Atlanta Citi Open - Washington AEGON International - Eastbourne Winston-Salem Open - Winston-Salem Malaysian Open - Kuala Lumpur Valencia Open - Valencia The LTA Hull Challenger - Hull ASB Classic - Auckland SkiStar Swedish Open - Bastad Rio Open - Rio de Janeiro Delray Beach Open - Delray Beach US Men's Clay Court Championship - Houston Topshelf Open - 's-Hertogenbosch Gerry Weber Open - Halle AEGON Championships - London Oberstaufen Cup - Oberstaufen Aegon Nottingham Open - Nottingham Amer-Wilson Tampere Challenger - Tampere XXVIII Edizione 'A.Savoldi' - Manerbio Brisbane International - Brisbane ASB Classic - Auckland Monterrey Challenger Memphis Open - Memphis Rio Open - Rio de Janeiro Abierto Mexicano Telcel - Acapulco US Men's Clay Court Championship - Houston Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril China Open - Beijing Geneva Open - Geneva AEGON Championships - London Antalya Cup - Antalya AEGON International - Eastbourne Bet-at-home Open - Hamburg Citi Open - Washington Vancouver Challenger Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco Las Vegas Challenger Geneva Open - Geneva Citi Open - Washington Copa Ericsson Brazil - Sao Paulo Erste Bank Open - Vienna US Men's Clay Court Championship - Houston ABN AMRO World Tennis Tournament - Rotterdam Barcelona Open Banc Sabadell - Barcelona Hall of Fame Open - Newport Abierto Mexicano Telfonica MoviStar - Acapulco Rakuten Japan Open - Tokyo The Stella Artois Grass Court Championships - London The Nottingham Open - Nottingham US Men's Clay Court Championship - Houston bett1HULKS Indoors - Cologne Delray Beach Open - Delray Beach Open Parc - Lyon Qatar Open - Doha Abierto Mexicano de Tenis Mifel - Los Cabos Open Seat Godo 2005 - Barcelona Zhuhai Open - Zhuhai Truist Atlanta Open - Atlanta Citi Open - Washington Winston-Salem Open - Winston-Salem Mercedes Cup - Stuttgart San Diego Open - San Diego Abierto Mexicano Telcel - Acapulco Davidoff Swiss Indoors - Basel Delray Beach Open - Delray Beach Oeiras 4 Challenger Abierto Mexicano Telcel - Acapulco Heineken Open - Auckland bett1HULKS Championships - Cologne Estoril Open - Estoril Open Seat Godo 2003 - Barcelona Truist Atlanta Open - Atlanta Abierto de Tenis Mifel - Los Cabos The Dubai Tennis Championships - Dubai Winston-Salem Open - Winston-Salem Telenordia Swedish Open - Bastad Pilot Pen Tennis - New Haven Dallas Open - Dallas Delray Beach Open - Delray Beach Campionati Internazionali di Sicilia - Palermo Abierto Mexicano Telcel - Acapulco Korea Open - Seoul Open de Tenis Comunidad Valenciana - Valencia Open SEAT 2008 - Barcelona China Open - Beijing AIG Japan Open Tennis Championships - Tokyo Catella Swedish Open - Bastad Copa AT&T - Buenos Aires Farmers Classic - Los Angeles Citi Open - Washington Brisbane International - Brisbane Shenzhen Open - Shenzhen Idea Prokom Open - Sopot Qatar ExxonMobil Open - Doha Brisbane International - Brisbane New York Open - New York New York Open - New York Tennis Masters Series - Indian Wells Mercedes Cup - Stuttgart Tennis Masters Series - Rome Noventi Open - Halle Tennis Masters Series - Hamburg Tennis Masters Series - Madrid Tata Open - Chennai Tennis Masters Series - Hamburg U.S. National Indoor Tennis Championships - Memphis Telecom Italia Masters - Rome Tennis Masters Series - Hamburg Western & Southern Financial Group Masters - Cincinnati Tennis Masters Series - Madrid BNP Paribas Masters - Paris Pacific Life Open - Indian Wells NASDAQ-100 Open - Miami Tennis Masters Series - Monte Carlo Telecom Italia Masters - Rome Rogers Cup - Montreal Western & Southern Financial Group Masters - Cincinnati BNP Paribas Masters - Paris NASDAQ-100 Open - Miami Masters Series Monte Carlo - Monte Carlo Masters Series Hamburg - Hamburg Rogers Masters - Toronto Western & Southern Financial Group Masters - Cincinnati BNP Paribas Masters - Paris Pacific Life Open - Indian Wells Masters Series Monte-Carlo - Monte Carlo Masters Series - Hamburg Western & Southern Financial Group Masters - Cincinnati Pacific Life Open - Indian Wells Sony Ericsson Open - Miami Masters Series Hamburg - Hamburg Western & Southern Financial Group Masters - Cincinnati Mutua Madrilena Masters Madrid - Madrid BNP Paribas Masters - Paris Monterrey Challenger BNP Paribas Open - Indian Wells Sony Ericsson Open - Miami Internazionali BNL dItalia - Rome Mutua Madrilena Masters Madrid - Madrid Rogers Cup - Montreal BNP Paribas Open - Indian Wells Sony Ericsson Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL dItalia - Rome Mutua Madrilena Masters Madrid - Madrid Rogers Cup - Toronto Western & Southern Financial Group Masters - Cincinnati Shanghai ATP Masters 1000 - Shanghai BNP Paribas Masters - Paris Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Masters - Paris Mutua Madrilena Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati BNP Paribas Masters - Paris Sony Open Tennis - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome BNP Paribas Masters - Paris Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells BNP Paribas Open - Indian Wells Mutua Madrid Open - Madrid Tennis Masters Series - Madrid Rogers Cup - Toronto Tennis Masters Series - Toronto BNP Paribas Open - Indian Wells Las Vegas Challenger Miami Open - Miami Open Seat Godo - Barcelona Tennis Masters Series - Madrid Pacific Life Open - Indian Wells Tennis Masters Series - Madrid Tennis Masters Series - Miami Campionati Internazionali d'Italia - Rome Stanford Challenger Masters Series Madrid - Madrid International Indoor Tennis Championships of Croatia - Zagreb Masters Series Monte-Carlo - Monte-Carlo French Open - Paris Western & Southern Open - Cincinnati Wimbledon - London CA Tennis Trophy - Vienna Sony Ericsson Open - Miami Dallas Open - Dallas Western & Southern Financial Group Masters - Cincinnati Shanghai ATP Masters - Shanghai BNP Paribas Open - Indian Wells Mutua Madrid Open - Madrid Sony Ericsson Open - Miami Heineken Open - Auckland Rogers Cup - Toronto Rogers Cup - Montreal French Open - Paris Wimbledon - London Shanghai Rolex Masters - Shanghai Emilia-Romagna Open - Parma Australian Open - Melbourne French Open - Paris BNP Paribas Open - Indian Wells U.S. Open - New York Australian Open - Melbourne Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid French Open - Paris Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris Rogers Cup - Montreal Western & Southern Open - Cincinnati Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris Miami Open - Miami Wimbledon - London U.S. Open - New York Australian Open - Melbourne Tennis Masters Series - Monte Carlo French Open - Paris Wimbledon - London Rogers Cup - Montreal U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Western & Southern Open - Cincinnati French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris Sony Ericsson Open - Miami Western & Southern Open - Cincinnati French Open - Paris Western & Southern Financial Group Masters - Cincinnati Argentina Open - Buenos Aires Campionati Internazionali D'Italia - Rome Rogers Masters - Montreal Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati BNP Paribas Masters - Paris Wimbledon - London Shanghai Rolex Masters - Shanghai Campionati BNL dItalia - Rome BNP Paribas Open - Indian Wells Rogers Masters - Toronto U.S. Open - New York Wimbledon - London U.S. Open - New York Australian Open - Melbourne Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo French Open - Paris Mutua Madrid Open - Madrid BNP Paribas Open - Indian Wells Internazionali BNL d'Italia - Rome U.S. Open - New York Australian Open - Melbourne U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London BNP Paribas Open - Indian Wells Abierto Mexicano Telcel - Acapulco Western & Southern Open - New York Mifel Tennis Open - Los Cabos Mutua Madrilena Madrid Open - Madrid BNP Paribas Open - Indian Wells French Open - Paris Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Open - Indian Wells Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Miami Open - Miami Internazionali BNL d'Italia - Rome BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Rogers Cup - Toronto Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Miami Open - Miami Miami Open - Miami BNP Paribas Masters - Paris Western & Southern Open - Cincinnati Miami Open - Miami Croatia Open - Umag Countrywide Classic - Los Angeles Brisbane International - Brisbane European Open - Antwerp Australian Open - Melbourne Swiss Indoors Basel - Basel Erste Bank Open - Vienna French Open - Paris San Diego Open - San Diego Open Sud de France - Montpellier German Tennis Championships - Hamburg U.S. Open - New York Rakuten Japan Open - Tokyo Davis Cup, World Group, 1R, BLR-ESP 4-1 Davis Cup, World Group, PO, ESP-ITA 4-1 Davis Cup, World Group, 1R, SUI-ESP 2-3 Davis Cup, World Group, SF, ESP-USA, 4-1 Davis Cup, World Group, F, ARG-ESP 1-3 Davis Cup, World Group, 1R, ESP-SRB 4-1 Argentina Open - Buenos Aires Davis Cup, World Group, SF, ESP-ISR, 4-1 US Men's Clay Court Championship - Houston Davis Cup, PO, ESP-SUI 4-1 NASDAQ-100 Open - Miami Davis Cup, World Group, QF, USA-ESP 1-3 Davis Cup, World Group, SF, CRO-USA 3-2 Shanghai - Shanghai Australian Open - Melbourne French Open - Paris U.S. Open - New York Campeonato de Espana Kia de Tenis 2004 - Madrid Wimbledon - London Capitala World Tennis Championship Mubadala World Tennis Championship Mubadala World Tennis Championship French Open - Paris Mubadala World Tennis Championship All Lower level tournaments Wimbledon - London Wimbledon - London Tennis Masters Cup - Shanghai Barclays ATP World Tour Finals - London Barclays ATP World Tour Finals - London Barclays ATP World Tour Finals - London Barclays ATP World Tour Finals - London U.S. Open - New York Wimbledon - London Australian Open - Melbourne Australian Open - Melbourne French Open - Paris Olympics - London Olympics - Rio de Janeiro U.S. Open - New York Australian Open - Melbourne Pacific Life Open - Indian Wells French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York Davis Cup, World Group, QF, ESP-GER 3-2 Davis Cup, World Group, F, ESP-ARG 3-1 Davis Cup, World Group, PO, UZB-USA 1-3 Davis Cup, World Group, SF, ESP-USA 3-1 Davis Cup, World Group, F, CZE-ESP 3-2 Davis Cup, World Group, PO, IND-ESP 0-5 Davis Cup, World Group, 1R, USA-SUI 5-0 Davis Cup, World Group, QF, GER-ESP 1-4 Davis Cup, World Group, F, ESP-CZE, 5-0 Davis Cup, World Group, SF, ESP-FRA 4-1 Davis Cup, Group I, DEN-ESP 0-5 Davis Cup, World Group, QF, ESP-AUT 4-1 Davis Cup, World Group, QF, FRA-ESP 5-0 The Mubadala World Tennis Championship Davis Cup, World Group, 1R, SRB-USA 1-3 Australian Open (Wildcard) Hopman Cup - Perth Barclays ATP World Tour Finals - London Barclays ATP World Tour Finals - London Olympics - Beijing